// pages/logs/logs.js
var app = getApp() //获取应用实例
// 微信小程序中每个页面必须使用Page()函数进行注册
// Page()函数也需要一个JSON对象作为参数
Page({
    //  页面的初始数据、初始化数据：作为页面第一次渲染
    // 参数里面有一个data属性：用来定义页面中使用到的数据
    data: {
        // JSON形式由逻辑层传至视图层
        // 数据必须是可以转成JSON格式的，例如：字符串、数字、布尔值、对象、数组等

        // 最初定义的初始化数据在页面中会随用户的操作而改变
        // 在JavaScript代码中可通过this.data.motto来修改，但是是无效的，无法改变页面中的数据状态，还会造成数据不一致
        // 使用在Page对象中封装的setData()函数

        motto: 'hello world', //属性1：定义motto属性，是一个字符串值
        // 用户可以输入新的motto值，更新到data中motto属性值中
        userInfo: {} //属性2：定义一个名为userInfo的空对象
        // 视图层可通过wxml对数据进行绑定，绑定之后就可以在wxml中使用这两个变量了
    },
    // 事件处理函数：在视图层可以在组件中加入事件绑定，当达到触发事件时，就会执行该事件处理函数
    // 自定义函数用来响应页面的事件
    bindViewTap: function () {
        wx.navigateTo({
            url: '../index/index',
        })
    },
    // 定义btnTap函数
    btnTap: function () {
        console.log('button tap');
    },

    // 在Page()函数的参数中可以定义页面的生命周期函数--监听页面加载
    // onLoad(参数1)//参数1可获取wx.navigateTo和wx.redirectTo及<navigator/>中的query
    // onLoad(options) {},// 官方编写的
    // 自己编写的
    onLoad: function () {

        // 使用setData()函数可以更新data中的数据
        this.setData({
            // 该函数接受一个对象
            // 以key.value的形式表示将this.data中的key对应的值改变为value
            // array[2].message, a.b.c.d //key很灵活，以数据路径的形式给出
            // 不需要在this.data中预先定义
            // userInfo: userInfo//注意这行会报错
        })


        console.log('页面加载完成调用该函数，一个页面只会调用一次');
        var that = this
        // 调用应用实例的方法获取全局数据
        app.getUserInfo(function (userInfo) {
            // 更新数据
            that.setData({
                userInfo: userInfo
            })
        })
    },

    // 生命周期函数--监听页面初次渲染完成
    // 页面初次渲染完成调用该函数
    // 一个页面只会调用一次，代表页面已经准备妥当，可以和视图层进行交互了
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    // 页面显示时调用该函数，每次打开页面都会调用一次
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    // 当navigateTo或底部tab切换时调用该函数
    onHide() {
        console.log('页面隐藏时调用该函数');
    },

    /**
     * 生命周期函数--监听页面卸载
     */
    // 页面卸载时调用该函数
    // 当redirectTo或navigateBack时调用该函数
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    // 下拉刷新时调用该函数，监听用户下拉刷新事件
    // 需要在config的window选项中开启enablePullDownRefresh
    // 当处理完数据刷新后，wx.stopPullDownRefresh()可以停止当前页面的下拉刷新
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})